package com.rainbow.redis.plus.core.starter.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(RedisPlusProperties.REDIS_PREFIX)
public class RedisPlusProperties {

    public static final String REDIS_PREFIX = "redis.cache";

    /**
     * 集群阶段，以逗号隔开
     * 127.0.0.1:3306,127.0.0.2:3306
     */
    private String nodes;
    
    /**
     * 连接的主机地址+端口
     * 127.0.0.1:3306
     */
    private String host;

    /**
     * 操作的database下标，默认是0
     */
    private int database=0;

    /**
     * 连接的超时时间（毫秒）
     */
    private int connectTimeout=3000;

    /**
     * 创建连接的密码
     */
    private String password;
    /**
     * 资源池中的最大连接数
     */
    private int maxTotal=20;

    /**
     * 资源池允许的最大空闲连接数
     */
    private int maxIdle=8;

    /**
     * 资源池确保的最少空闲连接数
     */
    private int minIdle=1;

    /**
     * 当资源池连接用尽后，调用者的最大等待时间（单位为毫秒）
     */
    private long maxWait=5000;
    
    public String getNodes() {
		return nodes;
	}

	public void setNodes(String nodes) {
		this.nodes = nodes;
	}

	public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public int getDatabase() {
        return database;
    }

    public void setDatabase(int database) {
        this.database = database;
    }

    public int getConnectTimeout() {
        return connectTimeout;
    }

    public void setConnectTimeout(int connectTimeout) {
        this.connectTimeout = connectTimeout;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getMaxTotal() {
        return maxTotal;
    }

    public void setMaxTotal(int maxTotal) {
        this.maxTotal = maxTotal;
    }

    public int getMaxIdle() {
        return maxIdle;
    }

    public void setMaxIdle(int maxIdle) {
        this.maxIdle = maxIdle;
    }

    public int getMinIdle() {
        return minIdle;
    }

    public void setMinIdle(int minIdle) {
        this.minIdle = minIdle;
    }

    public long getMaxWait() {
        return maxWait;
    }

    public void setMaxWait(long maxWait) {
        this.maxWait = maxWait;
    }
}
